<template>
  <section class="webview fixHeight">
    <el-scrollbar style="height:100%">
      <div class="search">
        <div class="content">
          <div class="part1">
            <div class="item">
              <span class="name">关键字</span>
              <el-input
                v-model="detail.title"
                class="input margin-left"
                placeholder="关键字"
                maxlength="20"
                @keyup.enter.native="search"
              />
            </div>
            <div class="item">
              <span class="name">房屋类型</span>
              <el-select v-model="detail.newOrSecond" class="input margin-left" placeholder="请选择">
                <el-option
                  v-for="item in typeOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                />
              </el-select>
            </div>
			<div class="item">
			  <span class="name">状态</span>
			  <el-select v-model="detail.status" class="input margin-left" placeholder="请选择">
			    <el-option
			      v-for="item in statustype"
			      :key="item.value"
			      :label="item.label"
			      :value="item.value"
			    />
			  </el-select>
			</div>
            <div class="searchItem">
              <el-button type="success" round class="search-btn" @click="getList">搜索</el-button>
              <el-button round class="reset-btn" style="margin-left:20px;" @click="reset">重置</el-button>
              <!-- <el-button round class="add" style="margin-left:20px;" @click="$router.push('/sellManage/add')">新增</el-button> -->
            </div>
          </div>
        </div>
      </div>
      <div class="table margin-top padding-bottom">
        <el-table
          ref="multipleTable"
          empty-text="暂无数据"
          :data="list"
          style="width: 100%"
          :row-style="{background: '#FCFDFF'}"
          :header-cell-style="{background:'#46705D',color:'#ffffff'}"
          @select-all="handleSelectAll"
          @selection-change="handleSelectionChange"
        >
          <el-table-column
            type="selection"
            width="55"
          />
          <el-table-column fixed type="index" label="序号" :show-overflow-tooltip="true" align="center" />
          <el-table-column label="类型" :show-overflow-tooltip="true" align="center">
            <template slot-scope="scope">
              <div>{{$store.state.user.typeListMap[scope.row.apartmentType]  }}</div>
            </template>
          </el-table-column>
          <el-table-column label="出售标题" :show-overflow-tooltip="true" align="center">
            <template slot-scope="scope">
              <div>{{ scope.row.title }}</div>
            </template>
          </el-table-column>
          <el-table-column label="希望售价" :show-overflow-tooltip="true" align="center">
            <template slot-scope="scope">
              <div>{{ scope.row.hopePrice }}万元</div>
            </template>
          </el-table-column>
          <el-table-column label="面积" :show-overflow-tooltip="true" align="center">
            <template slot-scope="scope">
              <div>{{ scope.row.area }}平方米</div>
            </template>
          </el-table-column>
          <el-table-column label="权属" :show-overflow-tooltip="true" align="center">
            <template slot-scope="scope">
              <div v-if="$store.state.user.typeListMap[scope.row.ownershipType]">{{$store.state.user.typeListMap[scope.row.ownershipType]}}</div>
              <div v-if="!$store.state.user.typeListMap[scope.row.ownershipType]">{{scope.row.ownershipType}}</div>
            </template>
          </el-table-column>
          <el-table-column label="状态" :show-overflow-tooltip="true" align="center">
            <template slot-scope="scope">
              <div>{{ scope.row.status }}</div>
            </template>
          </el-table-column>
          <el-table-column label="经纪人" :show-overflow-tooltip="true" align="center">
            <template slot-scope="scope">
              <div>{{ scope.row.agentName }}</div>
            </template>
          </el-table-column>
		  <el-table-column label="是否新房" :show-overflow-tooltip="true" align="center">
		    <template slot-scope="scope">
		      <div v-if="scope.row.newOrSecond == 1">新房</div>
		      <div v-else>二手房</div>
		    </template>
		  </el-table-column>
		  <el-table-column label="权重" :show-overflow-tooltip="true" align="center">
		    <template slot-scope="scope">
		      <div>{{ scope.row.sort }}</div>
		    </template>
		  </el-table-column>
          <el-table-column label="发布时间" :show-overflow-tooltip="true" align="center">
            <template slot-scope="scope">
              <div>{{ scope.row.createAt }}</div>
            </template>
          </el-table-column>
		   <el-table-column label="审核时间" :show-overflow-tooltip="true" align="center">
            <template slot-scope="scope">
              <div>{{ scope.row.updateAt }}</div>
            </template>
          </el-table-column>
          <el-table-column fixed="right" label="操作" :show-overflow-tooltip="true" align="center" width="450">
            <template slot-scope="scope">
              <el-button type="text" size="small" @click="toSee(scope.row.id)">查看</el-button>
              <el-button type="text" size="small" @click="toEdit(scope.row.id)">排序</el-button>
              <el-button type="text" size="small" @click="ok(scope.row.id)">通过</el-button>
              <el-button type="text" size="small" @click="tui(scope.row.id)">推荐</el-button>
              <el-button type="text" size="small" @click="back(scope.row.id)">打回</el-button>
              <el-button type="text" size="small" @click="toDel(scope.row.id)">删除</el-button>
            </template>
          </el-table-column>
        </el-table>
        <div class="pageContain margin-top">
          <div>
            <el-popover placement="right" trigger="hover" class="more">
              <div class="popover">
                <!--                <div class="item hand" @click="editStatusSingles(1)">启用</div>-->
                <!--                <div class="item hand" @click="editStatusSingles(0)">禁用</div>-->
                <div class="item hand" @click="toDels">删除</div>
              </div>
              <el-button slot="reference" class="moreDo">批量操作</el-button>
            </el-popover>
          </div>
		  <div style="flex: 1;text-align: right;">共{{pagina.total}}条</div>
          <el-pagination
            :current-page="pagina.page"
            :page-size="pagina.pageSize"
            :background="true"
            layout="prev, pager, next"
            :total="pagina.total"
            @current-change="handleCurrentChange"
          />
        </div>
      </div>
    </el-scrollbar>
  </section>
</template>
<script>
import { sellList, sellDelete,updateStatus,sellUpdate,houseTop } from '@/api/api'
export default {
  data() {
    return {
      list: [],
      pagination: {
        pageSize: 10,
        page: 1,
        total: 0
      },
	  pagina:{},
      detail: {
        title: '',
        templateType: '',
		newOrSecond:'',
		status:''
      },
      typeOptions: [
        {
          value: 1,
          label: '新房'
        },
        {
          value: 2,
          label: '二手房'
        }],
		statustype: [
        {
          value: 0,
          label: '待售'
        },
        {
          value: 1,
          label: '在售'
        },
        {
          value: 2,
          label: '已售'
        },
        {
          value: 3,
          label: '待审核'
        },
        {
          value: 4,
          label: '未通过'
        }],
      ids: []
    }
  },
  created() {
    this.getList()
  },
  methods: {
	  tui(id){
	  		  var that = this;
	  		  that.$confirm('是否确认进行推荐?', '提示', {
	  		            confirmButtonText: '确定',
	  		            cancelButtonText: '取消',
	  		            type: 'warning'
	  		          }).then(() => {
	  					  houseTop({
	  					    dataId: id,
	  					    houseType: 2,
	  					  			type:'uc_increment_good_recommended_day'
	  					  }).then(data => {
	  					    Is.tip('设置成功')
	  					    that.getList()
	  					  })
	  		  				
	  		           
	  		          }).catch(() => {
	  		            that.$message({
	  		              type: 'info',
	  		              message: '已取消删除'
	  		            });          
	  		          });
	  		 
	  },
	  ok(id){
		  updateStatus({
		    id: id,
		    status: 1
		  }).then(data => {
		    Is.tip('设置成功')
		    this.getList()
		  })
	  },
	  back(id){
		  this.$prompt('请输入打回理由', '提示', {
		            confirmButtonText: '确定',
		            cancelButtonText: '取消'
		          }).then(({ value }) => {
		  			updateStatus({
		  			  id: id,
		  			  status:4,
					  noReason:value
		  			}).then(data => {
		  			  Is.tip('设置成功')
		  			  this.getList()
		  			})
		          }).catch(() => {
		                 
		          });
		 
	  },
    getStatus(status) {
      let statusWord = ''
      switch (status) {
        case 0:
          statusWord = '已通过'
          break
        case 1:
          statusWord = '已通过'
          break
        case 2:
          statusWord = '已通过'
          break
        case 3:
          statusWord = '待审核'
          break
        case 4:
          statusWord = '下架'
          break
      }
      return statusWord
    },
    toEdit(id) {
		 this.$prompt('请输入序号', '提示', {
		          confirmButtonText: '确定',
		          cancelButtonText: '取消'
		        }).then(({ value }) => {
		          if(value != null){
					  sellUpdate({
					    id: id,
					    sort: value
					  }).then(data => {
					    Is.tip('设置成功')
					    this.getList()
					  })
				  }else{
					  this.$message({
					    type: 'info',
					    message: '请输入序号'
					  });
				  }
				  
		        }).catch(() => {
		                 
		        });
		// console.log(id)
    },
    toSee(id) {
      this.$router.push({ path: '/sellManage/see', query: { id: id }})
    },
    editStatusSingle(type, id) {
      if (type == 1) {
        // 启用
        updateHospitalStatus({
          ids: [id],
          status: 1
        }).then(data => {
          Is.tip('启用成功')
          this.getList()
        })
      }
    },
    editStatusSingles(type) {
      if (Is.empty(this.ids)) {
        Is.tip('未选择编辑项')
        return false
      }
      if (type == 1) {
        // 启用
        updateHospitalStatus({
          ids: this.ids,
          status: 1
        }).then(data => {
          Is.tip('启用成功')
          this.getList()
        })
      }
      if (type == 0) {
        // 禁用
        updateHospitalStatus({
          ids: this.ids,
          status: 0
        }).then(data => {
          Is.tip('禁用成功')
          this.getList()
        })
      }
    },
    reset() {
      this.detail = {
        title: ''
      }
      this.pagination = {
        pageSize: 10,
        page: 1,
        total: 0
      }
      this.getList()
    },
    getList() {
      const params = {
        curPage: this.pagination.page,
        pageSize: this.pagination.pageSize,
        name: this.detail.title,
		newOrSecond:this.detail.newOrSecond,
		status:this.detail.status
      }
      sellList(params).then(data => {
        this.list = data.data.records;
		this.pagina.total =data.data.total 
		//   pageSize: 10,
		//   page: 1,
		//   : 
		// }
		for(var i=0;i<data.data.records.length;i++){
			switch (data.data.records[i].status) {
			  case '0':
			     this.list[i].status = '已通过'
			    break
			  case '1':
			     this.list[i].status = '已通过'
			    break
			  case '2':
			     this.list[i].status = '已通过'
			    break
			  case '3':
			     this.list[i].status = '待审核'
			    break
			  case '4':
			     this.list[i].status = '未通过'
			    break
			}
		};
      })
    },
    handleSelectAll(selection) {
      this.ids = []
      if (selection.length > 0) {
        selection.forEach(item => {
          this.ids.push(item.id)
        })
      }
    },
    handleCurrentChange(val) {
      // 重置当前页码
      this.pagination.page = val
      this.getList()
    },
    handleSelectionChange(selection) {
      this.ids = []
      if (selection.length > 0) {
        selection.forEach(item => {
          this.ids.push(item.id)
        })
      }
    },
    // 多选删除
    toDels() {
      if (Is.empty(this.ids)) {
        Is.tip('未选择删除项')
        return false
      }
      this.$confirm('确认删除？', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        sellDelete(
          this.ids
        ).then(data => {
          Is.tip('删除成功', 1500, 'success')
          if (this.list.length === this.ids.length && this.pagination.page > 1) {
            this.pagination.page--
          }
          this.getList()
        })
      })
    },
    // 单选删除
    toDel(id) {
      this.$confirm('确认删除？', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        sellDelete(
          [id]
        ).then(data => {
          Is.tip('删除成功', 1500, 'success')
          if (this.list.length === 1 && this.pagination.page > 1) {
            this.pagination.page--
          }
          this.getList()
        })
      }).catch((e) => {

      })
    }
  }}
</script>
